package org.zk.service;


import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import org.zk.entity.Course;
import org.zk.entity.Comment;

import java.util.List;
import java.util.Map;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Alicelonely
 * @since 2019-12-11
 */
public interface CourseService   {
    //添加课程
    int insertCourse(Course course);

    //课程详情页
    Course queryCourse(int courseId);

    //添加评价时修改course表的各类评价数以及好评率
    int updateCourse(Course course);

    /*//高申 2019-12-16 查看所有
    List<Course> queryAllCourse();*/

    //高申 2019-12-16 根据id查看课程
    Course queryOneCourse(int courseId);

    //高申 2019-12-17 支付成功，课程销量+1
    void updateCourseCount(Course course);


    //查询单个教师发布的课程数量
    int getCourseCountByTid(Map map);

    //查询单个老师的所有课程
    PageInfo getqueryCourseByTidPage(Map<String, Object> map);

    //查询单个教师发布的最新的courseId
    Course queryCourseIdByTid(int teacherId);

    //分页查询所有课程
    PageInfo getAllCoursePage(Map<String,Object> map);

    //course审核
    int updateFlag(Course course);

   PageInfo getAllCoursesPage(Map map);


    //分条件查询单个教师发布的课程
    List<Course> getCourseByTidAndFlag(Map<String,Object> map);

    //删除单个章节
    int delCourseById(int courseId);

   List<Course> getCourseBySid(int id);

    /**
     * @MethodName: getAllCourseList
     * @Description: 综合查询所有视频课程
     * @Param: [map]
     * @Return: java.util.List<org.zk.entity.Course>
     * @Author: 刘艺广
     * @Time: 2020/1/7 0007 上午 11:39
     **/
   List<Course> getAllCourseList(Map map);

    //根据typeId查询所有的课程
    List<Course> getCourseByTypeId(Map map);

}
